<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字典管理</title>
    <link rel="stylesheet" href="../../../layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layui/layuiAdmin/css/admin.css" media="all">
</head>
<body>

<h1>字典管理</h1>

<script src="../../../layui/layui.js"></script>
<script type="text/javascript">
    // 日期格式转换函数
    function formatDate(str) {
        if(str != null){
            var now = new Date(str);
            var year = now.getFullYear();  //取得4位数的年份
            var month = now.getMonth() + 1;  //取得日期中的月份，其中0表示1月，11表示12月
            var date = now.getDate();      //返回日期月份中的天数（1到31）
            var hours = now.getHours();
            var minutes = now.getMinutes();
            var seconds = now.getSeconds();
            return year + "-" + month + "-" + date +" "+hours+":"+minutes+":"+seconds;
        }
        return "";
    }
</script>
<script type="text/javascript">
    layui.config({
        base: '../../../layui/layuiAdmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index' //主入口模块
    }).use(['layer','table','form'], function(){
        var $ = layui.$
            ,form = layui.form
            ,layer = layui.layer
            ,table = layui.table;

        //加载table
        table.render({
            elem: '#LAY-user-manage'
            ,url:'/sys_user/findSysUserAll' //后端接口
            ,cellMinWidth: 80 //全局定义常规单元格的最小宽度
            ,title: '系统用户数据表'
            ,cols: [[
                {type: 'checkbox', fixed: 'left'}
                ,{field:'userId',title:'ID',width: 80}
                ,{field:'username', title:'用户名',width: 100}
                ,{field:'realName', title:'真实姓名',width: 100}
                ,{field:'mobile', title:'手机号码',width: 120}
                ,{field:'deptId', title:'所属部门ID',width: 100,hide:true}
                ,{field:'deptName', title:'所属部门',width: 100}
                ,{field:'sex', title:'性别',width: 80,templet:'#sexTpl'}
                ,{field:'email', title:'邮箱',width: 150}
                ,{field:'status', title:'状态',width: 80,templet:'#statusTpl'}
                ,{field:'createDate', title:'创建时间',width: 140}
                ,{field:'updateDate', title:'更新时间',width: 140}
                ,{fixed: 'right', title:'操作', toolbar: '#table-useradmin-webuser',width:180}
            ]]
            ,page: {
                curr: 1 //设定初始在第 5 页
                ,limit: 5 //设定初始每页显示 5 条
            },
            limits:[5,10,15,20]
        });

        //监听行工具事件
        table.on('tool(LAY-user-manage)', function(obj){
            var data = obj.data;
            if(obj.event === 'del'){
                layer.confirm('真的删除行么', function(index){
                    $.ajax({
                        url:"/sys_user/del", //请求后端接口地址
                        type:"post", //请求方式get | post
                        data:{userId:data.userId}, //提交json字符串对象参数
                        dataType:"json", //后端返回参数类型
                        success:function (res){ //请求成功后回调函数res = JSONObject.toJSONString(resultMap)
                            if(res.code == 0){//成功
                                layer.msg(res.message);//弹出提示
                                table.reload('LAY-user-manage'); //数据刷新
                                layer.close(index); //关闭弹层
                            }else {
                                layer.msg(res.message,{icon: 5});//弹出提示
                            }
                        }
                    })
                });
            } else if(obj.event === 'edit'){
                layer.open({
                    type: 2
                    ,title: '修改用户'
                    ,skin: 'layui-layer-molv'
                    ,content: 'edit.html'
                    ,maxmin: true
                    ,area: ['480px', '610px']
                    ,btn: ['确定', '取消']
                    ,success: function (layero,index){ //弹出层加载之前执行
                        // 获取选中行的数据
                        // 获取弹出层的表单
                        var body = layer.getChildFrame("body",index);
                        var contentWindow = layero.find('iframe')[0].contentWindow;//得到iframe页的窗口对象，执行iframe页的方法：iframeWin.method();
                        // 获取编辑表单中用户名元素
                        // 数据回显到弹出的表单中
                        contentWindow.layui.form.val('layuiadmin-form-useradmin', {
                            "userId": data.userId
                            ,"username": data.username
                            ,"realName": data.realName
                            ,"mobile": data.mobile
                            ,"deptId": data.deptId
                            ,"sex": data.sex
                            ,"email": data.email
                            ,"status": data.status
                            ,"remark": data.remark
                        });

                    }
                    ,yes: function (index,layero){
                        var iframeWindow = window['layui-layer-iframe'+ index]
                            ,submitID = 'LAY-user-front-submit'
                            ,submit = layero.find('iframe').contents().find('#'+ submitID);
                        //监听提交--隐藏按钮
                        iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
                            var field = data.field; //获取提交的字段
                            // 通过Ajax方式将参数提交到后端--保存数据库中
                            $.ajax({
                                url:"/sys_user/update",
                                type:"post",
                                data:JSON.stringify(field),
                                contentType: "application/json;charset=utf-8", //提交参数类型为json格式
                                dataType:"json",
                                success:function (res){
                                    if(res.code == 0){//成功
                                        layer.msg(res.message);//弹出提示
                                        table.reload('LAY-user-manage'); //数据刷新
                                        layer.close(index); //关闭弹层
                                    }else{//系统出问题
                                        layer.msg(res.message,{icon: 5});//弹出提示
                                    }
                                }
                            })
                        });
                        submit.trigger('click');
                    }

                });

                // layer.open({
                //     type: 2
                //     ,title: '修改用户'
                //     ,skin: 'layui-layer-molv'
                //     ,content: 'edit.html'
                //     ,maxmin: true
                //     ,area: ['480px', '600px']
                //     ,btn: ['确定', '取消']
                //     // 加载弹出层之前获取选中数据，进行回显
                //     ,success: function (layero,index){
                //
                //         var body = layer.getChildFrame("body",index);
                //         var contentWindow = layero.find('iframe')[0].contentWindow;//得到iframe页的窗口对象，执行iframe页的方法：iframeWin.method();
                //
                //         body.find("input[name=userId]").val(data.userId);
                //         body.find("input[name=username]").val(data.username);
                //         body.find("input[name=realName]").val(data.realName);
                //         body.find("input[name=mobile]").val(data.mobile);
                //         // 性别
                //         body.find("input[name=sex][value=1]").attr("checked",data.sex == 1 ? true:false);
                //         body.find("input[name=sex][value=2]").attr("checked",data.sex == 2 ? true:false);
                //
                //         //所属部门
                //         // 目的：想要获取所有的option
                //         // body.find("select[id=deptSelect]").find("option[value="+1+"]").attr("selected",true);
                //         // body.find("select[id=deptSelect]").find("option[value="+1+"]").attr("selected",true);
                //
                //         // 通过后端动态获取下拉数据
                //         // $.ajax({
                //         //     url:"/sys_dept/findSysDepts",
                //         //     type:"get",
                //         //     dataType:"json",
                //         //     success:function (res){
                //         //         // 后端获取部门数据
                //         //         var selectData = res.data;
                //         //         // 清空列表
                //         //         body.find("select[id=deptSelect]").empty();
                //         //         // 默认的
                //         //         body.find("select[id=deptSelect]").append(new Option('-请选择部门-',''));
                //         //         // 循环遍历
                //         //         $.each(selectData,function (index,item){
                //         //             body.find("select[id=deptSelect]").append(new Option(item.deptName,item.deptId));
                //         //         })
                //         //         layui.form.render('select'); // 更新渲染
                //         //
                //         //         var length = data.length;
                //         //         var html1 = '<dd lay-value="" class="layui-select-tips layui-this">直接选择</dd>';
                //         //         var html2 = '<option value="" >直接选择</option>';
                //         //         for (var i = 0; i < length; i++) {
                //         //             html1 += '<dd lay-value="' + data[i].deptId + '">' + data[i].deptName + '</dd>';
                //         //             html2 += '<option value="' + data[i].deptId + '">' + data[i].deptName + '</option>';
                //         //         }
                //         //         body.find("select[id=deptSelect]").next().children().eq(1).html(html1);
                //         //         body.find("select[id=deptSelect]").html(html2);
                //         //
                //         //         body.find("select[id=deptSelect]").next().children().eq(1).html(html1);
                //         //         body.find("select[id=deptSelect]").html(html2);
                //         //
                //         //         layui.form.render('select'); // 更新渲染
                //         //     }
                //         // })
                //
                //         contentWindow.layui.form.render();
                //
                //         body.find("layui-unselect").addClass("layui-form-select");
                //         body.find("layui-anim dd[value=2]").attr("class","layui-this");
                //
                //         body.find("select[id=deptSelect]").val("2");
                //
                //         body.find("input[name=email]").val(data.email);
                //         body.find("input[name=remark]").val(data.remark);
                //         // 状态
                //         body.find("input[name=status][value=1]").attr("checked",data.status == 1 ? true:false);
                //         body.find("input[name=status][value=2]").attr("checked",data.status == 2 ? true:false);
                //         // 重载表单单选按钮
                //         contentWindow.layui.form.render("radio");
                //         // 重载下来列表
                //         contentWindow.layui.form.render("select");
                //     }
                //     ,yes: function(index, layero){
                //         var iframeWindow = window['layui-layer-iframe'+ index]
                //             ,submitID = 'LAY-user-front-submit'
                //             ,submit = layero.find('iframe').contents().find('#'+ submitID);
                //         //监听提交
                //         iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
                //             var field = data.field; //获取提交的字段
                //             $.ajax({
                //                 url:"/sys_user/update", //请求后端接口地址
                //                 type:"post", //请求方式get | post
                //                 data:JSON.stringify(field), //提交json字符串对象参数
                //                 contentType:"application/json;charset=utf-8", //发送信息至服务器时内容编码类型
                //                 dataType:"json", //后端返回参数类型
                //                 success:function (res){ //请求成功后回调函数res = JSONObject.toJSONString(resultMap)
                //                     if(res.code == 0){//成功
                //                         layer.msg(res.message);//弹出提示
                //                         table.reload('LAY-user-manage'); //数据刷新
                //                         layer.close(index); //关闭弹层
                //                     }
                //                     if(res.code == -1){//系统出问题
                //                         layer.msg(res.message,{icon: 5});//弹出提示
                //                     }
                //                 }
                //             })
                //         });
                //         submit.trigger('click');
                //     }
                // });

            }
        });


        //监听搜索
        form.on('submit(LAY-sysuser-front-search)', function(data){
            var field = data.field;
            //执行重载
            table.reload('LAY-user-manage', {
                url: '/sys_user/search',
                where: field
            });
        });

        //事件
        var active = {
            batchdel: function(){
                var checkStatus = table.checkStatus('LAY-user-manage')
                    ,checkData = checkStatus.data; //得到选中的数据

                if(checkData.length == 0){
                    return layer.msg('请选择数据');
                }

                // 程序走到这里，表示已经有选中要删除的数据了。
                layer.confirm('确定删除吗？',function (){
                    var userIds = new Array();
                    $.each(checkData,function (index,item){
                           userIds.push(item.userId);
                    })
                    // 提交给后端
                    $.ajax({
                        url:"/sys_user/batchdel",
                        type:"post",
                        data:{userIds:userIds},
                        traditional:true, // 传统序列化
                        dataType:"json",
                        success:function (res){
                            if(res.code == 0){//成功
                                layer.msg('已删除');
                                table.reload('LAY-user-manage'); //数据刷新
                                layer.close(index); //关闭弹层
                            }else{
                                layer.msg(res.message,{icon: 5});//弹出提示
                            }
                        }
                    })
                })
            }
            ,add: function(){
                layer.open({
                    type: 2
                    ,title: '添加用户'
                    ,skin: 'layui-layer-molv'
                    ,content: 'add.html'
                    ,maxmin: true
                    ,area: ['480px', '650px']
                    ,btn: ['确定', '取消']
                    ,yes: function (index,layero){
                        var iframeWindow = window['layui-layer-iframe'+ index]
                            ,submitID = 'LAY-user-front-submit'
                            ,submit = layero.find('iframe').contents().find('#'+ submitID);
                            //监听提交--隐藏按钮
                            iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
                                var field = data.field; //获取提交的字段
                                // 通过Ajax方式将参数提交到后端--保存数据库中
                                $.ajax({
                                    url:"/sys_user/save",
                                    type:"post",
                                    data:JSON.stringify(field),
                                    contentType: "application/json;charset=utf-8", //提交参数类型为json格式
                                    dataType:"json",
                                    success:function (res){
                                        if(res.code == 0){//成功
                                            layer.msg(res.message);//弹出提示
                                            table.reload('LAY-user-manage'); //数据刷新
                                            layer.close(index); //关闭弹层
                                        }else{//系统出问题
                                            layer.msg(res.message,{icon: 5});//弹出提示
                                        }
                                    }
                                })
                            });
                            submit.trigger('click');
                    }

                });
            }
        };

        $('.layui-btn.layuiadmin-btn-useradmin').on('click', function(){
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });

    });
</script>
</body>
</html>